Many modern computerized systems support virtual machines. The exchange of information between one virtual machine to the other can be very complex and resource consuming. A hypervisor based information transfer can require context switching to and from hypervisor mode and page flipping operations or copy operations. Another way of performing information transfer is known as a remote data memory access (RDMA) based information transfer. This information transfer is characterized by a “heavy” memory registration procedure, transport overhead, high memory access time as RDMA adapters are connected to a peripheral bus), and weak protection.
There is a need to provide an efficient system, method and computer program product that will enable exchange of information between a virtual machine to another virtual entity or to an IO device.